The present invention relates to radio telecommunication systems. More particularly, and not by way of limitation, the present invention is directed to a system and method for controlling an order of call processing among a plurality of call processing components.
The U.S. Government has developed the Government Emergency Telecommunications Services (GETS), where during national, state, or local emergencies, designated mobile terminals are given priority within the wireless network. A feature referred to as the Wireless Priority Services (WPS) feature gives Network Security and Emergency Preparedness (NSEP) calls a higher probability of completion during periods of high call blockage.
The WPS feature provides the software infrastructure to manage the assignment of call resources between public calls and WPS calls, or between WPS calls with different priorities. The WPS calls are guaranteed a specified (configurable) amount of call resources within the wireless network. The public and WPS calls take turns in requesting these call resources. The party whose turn it is has priority for the call resources that are available. If no resources are available, the party whose turn it is has priority when the resources become available. WPS calls with the highest priority are serviced first. If they are of equal priority, the WPS calls are serviced in the order they are placed. Therefore, a WPS call should never receive call resources before WPS calls of equal priority placed ahead of it.
The Public User Reservation Departure Allocation Algorithm (PURDA) is an algorithm that distributes call resources between public calls and WPS calls. It takes advantage of the fact that WPS users typically need only a small amount of call resources. Two important parameters for the PURDA algorithm are SuperCount and PURDA_N_RATIO. The SuperCount is the number of WPS users that are initially allowed priority over public users. In other words, the SuperCount is the number of WPS calls that get access to the call resources before any public calls are allowed. An Initial Usage Counter (IUC) keeps track of initially served WPS calls.
A configurable value, N, is defined on a per cell-sector basis and is used to track the number of call resources that are provided to both public and WPS calls. WPS call attempts receive priority for new call resources that are available, 1 out of every N calls. Public calls receive priority for new call resources N−1 out of every N calls. The value for N is provisioned via the configuration parameter PURDA_N_RATIO. A local “n” counter keeps track of WPS and public call turns.
The PURDA algorithm allows:                N−1 call resources to go to public calls (per cell-sector); and        The Nth resource to go to WPS calls (per cell-sector).        
If PURDA is active, the IUC and n counters are updated for:                a WPS call origination or termination;        a Public call origination or termination;        a Retry for WPS originating or terminating leg; and        a Retry Failure for WPS originating or terminating leg.        
The current WPS feature and PURDA algorithm are used/implemented within a single call processing system where all of the call resources are owned and managed by a single entity. In order to continually improve and increase the call capacity, the telecommunications industry is quickly evolving to a distributed call processing system. In a distributed call processing system, resources are “distributed” across multiple call processing nodes. Each call processing node owns and manages its assigned slice of the system resources, but does not have a view of the resources of other nodes. There are also common system resources managed by central entities that the call processing nodes must request.
In a first example scenario, Mobile A makes a public call request at call processing node 1, and Mobile B makes an NSEP call request at call processing node 2. If PURDA determines that it is a public turn, then Mobile A has priority over Mobile B for the resources currently available or if not available, when they become available within the system. If PURDA determines that it is a NSEP turn, then Mobile B has priority over Mobile A for the resources currently available or if not available, when they become available within the system.
In a second example scenario, Mobile A makes an NSEP call request at call processing node 1 and then Mobile B makes an NSEP call request at call processing node 2. If PURDA determines that it is a NSEP turn, then mobile A has priority over the resources currently available or if not available, when they become available within the system.